System and method for creating and providing a user interface for optimizing advertiser defined groups of advertisement campaign information

ABSTRACT

A system and method for creating and providing a user interface for optimizing advertiser defined groups of advertisement campaign information is disclosed. Generally, advertisement campaign information is organized into one more ad groups. An ad group typically includes advertisements and parameters for advertisements that are to be handled by an advertisement campaign management system in a similar manner. Forecasting information is obtained relating to at least a portion of one of the one or more ad groups. At least a portion of the advertisement campaign information is then modified based at least in part on the forecasting information to optimize performance of at least one of the one or more ad groups.

RELATED APPLICATIONS

The present patent document claims the benefit of the filing date under35 U.S.C. §119(e) of Provisional U.S. Patent Application Ser. No.60/703,904, filed Jul. 29, 2005, the entirety of which is herebyincorporated herein by reference.

BACKGROUND

Users who advertise with an online advertisement service provider suchas Yahoo! Search Marketing typically manage various types of onlineadvertising through the use of a spreadsheet upload/download facility, auser interface, or an application program interface (“API”) to anadvertisement management system of the advertisement service provider.Traditionally, users have been able to perform operations with the userinterface or API such as adding, editing, or removing advertisementsfrom their account, or modifying various parameters associated withadvertisements such as budget parameters or performance parameters.

Current user interfaces and APIs to online advertisement serviceproviders typically allow users to modify parameters associated withindividual advertisements or to modify parameters associated withadvertisements as grouped by the advertisement service provider. Asonline advertising has increased in popularity, users may have thousandsof advertisements that need to be managed at any given time. The amountof information available on the internet presents many technicalproblems to an online advertiser seeking to manage data stored in adatabase when the data defines online advertisements and data processingresults. Therefore, it is desirable to provide a user interface and anAPI to an advertisement campaign management system that allows users toflexibly, dynamically, and efficiently manage large groups ofadvertisements as defined by the advertiser rather than theadvertisement service provider.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 illustrates one embodiment of a pod of an advertisement campaignmanagement system;

FIG. 2 is a block diagram of one embodiment of a model for themaintenance of advertisement campaign information according to theadvertisement campaign management system of FIG. 1;

FIGS. 3-31 are examples of different embodiments of graphical userinterfaces (“GUIs”) of the campaign management system of FIG. 1, thatprovide a user the ability to display, manage, optimize, or view andcustomize reports on, advertisement campaign information;

FIG. 32 is a block diagram of one embodiment of a system forfacilitating display of advertisement campaign information;

FIG. 33 is a flow diagram of one embodiment of a method for facilitatingdisplay of advertisement campaign information;

FIG. 34 is block diagram of one embodiment of a system for managingadvertisement campaign information;

FIG. 35 is a flow diagram of one embodiment of a method for managingadvertisement campaign information;

FIG. 36 is a flow diagram of another embodiment of a method for managingadvertisement campaign information;

FIG. 37 is a flow diagram of another embodiment of a method for managingadvertisement campaign information;

FIG. 38 a block diagram of one embodiment of a system for optimizingadvertisement campaign information;

FIG. 39 is a flow diagram of one embodiment of a method for optimizingadvertisement campaign information;

FIG. 40 is a flow diagram of another embodiment of a method foroptimizing advertisement campaign information;

FIG. 41 is a flow diagram of another embodiment of a method foroptimizing advertisement campaign information;

FIG. 42 is a block diagram of one embodiment of a system for reportingadvertisement campaign information;

FIG. 43 is a flow diagram of one embodiment of a method for reportingadvertisement campaign information;

FIG. 44 is a flow diagram of another embodiment of a method forreporting advertisement campaign information; and

FIG. 45 is a block diagram of one embodiment of a system for interactingwith an application program interface (“API”) of an advertisementcampaign management system.

DETAILED DESCRIPTION OF THE DRAWINGS

The advertisement campaign management system as described with referenceto FIGS. 1 and 2, the graphical user interfaces as described withreference to FIGS. 3-31, and the systems and methods as described withreference to FIGS. 32-44 provide user interfaces and application programinterfaces (“APIs”) to an advertisement campaign management system thatprovides users and machines the ability to flexibly, dynamically, andefficiently manage large groups of advertisements. As opposed tointerfaces to advertisement campaign management systems that onlyprovide the ability to manage advertisement campaign information at auser account level or an individual advertisement level, the disclosedadvertisement campaign management system provides the ability to manageadvertisement campaign information at a level defined by the user. Usersare given the ability to define their own groups of advertisementcampaign information (an ad group) for advertisements that will behandled by the advertisement campaign management system in a similarmanner. For example, users may group advertisements by a search tactic,performance parameter, demographic of a user, family of products, oralmost any other parameter desired by the user. Allowing users to definetheir own ad groups allows the advertisement campaign management systemto provide more useful information to the user thereby allowing the userto display, manage, optimize, or view reports on, advertisement campaigninformation in a manner most relevant to an individual advertiser.

FIG. 1 illustrates one embodiment of a pod of an advertisement (“ad”)campaign management system. Pod 100 comprises a plurality of softwarecomponents and data for facilitating the planning, management,optimization, delivery, communication, and implementation ofadvertisements and ad campaigns, as well as for storing and managinguser accounts. In one embodiment, a pod 100 comprises a campaign datastore (“CDS”) 105 that stores user account information. ApplicationProgram Interfaces (“APIs”) 110 and User Interfaces (“UI”) 115 are usedfor reading data from and writing data to the campaign data store 105.Internal APIs 130 provide shared code and functions between the API andUI, as well as facilitate interface with the campaign data store 105. Akeyword suggestion component 120 may assist users in searching foravailable search terms. An editorial processing system (“EPS”) 125 maybe provided to review content of all new ads. A pod collection server(“PCS”) 135 determines which pod the collected ad campaign performancedata should go to. A script server 140 provides scripts for collectionof data indicative of the customer browsing sessions. An image server145 receives and processes data indicative of the customer browsingsessions from the customer web browsers.

The pod may further comprise a channel server 150 operative to receivedata from one or more advertising channels. A business information group(“BIG”) 155 may provide analysis and filtering of raw click data comingfrom the advertising channels through the channel server 150. An accountmonitoring component 160 monitors budgets allocated for each adcampaign. A financial component 165 may be provided for planning andbudgeting ad campaign expenses. A weight optimizer 170 operative tooptimize individual ad performance. A campaign optimizer 175 may beprovided to optimize performance of the ad campaign. A third-partyanalytical feed component 180 is provided to handle the incoming adperformance data from the third-party sources. A quality score component185 provides yet another metric for measuring individual ad performance.A forecast component 190 is an analytical tool for predicting keywordstrends. Finally, an online sign-up (“OLS”) component 195 providesheightened security services for online transactions involving exchangeof moneys.

The CDS 105 is the main data store of pod 100. In one embodiment, CDS105 stores ad campaign account data, including account access andpermission lists, user information, advertisements, data collected fromadvertiser websites indicative of customer browsing sessions, raw clickdata received from the advertising channels, third party analyticalfeeds, ad campaign performance data generated by the system, ad campaignoptimization data, including budgets and business rules, etc. In variousembodiments of the invention, CDS 105 stores one or more account datastructures as illustrated in FIG. 2 and described in greater detailbelow.

Data in the CDS 105 may be stored and accessed according to variousformats, such as a relational format or flat-file format. CDS 105 can bemanaged using various known database management techniques, such as, forexample, SQL-based and Object-based. At the physical level, the CDS 105is implemented using combinations of one or more of magnetic, optical ortape drives. Furthermore, in one embodiment of the invention, CDS 105has one or more back up databases that can be used to serve Pod 100during downtime of CDS 105.

In one embodiment, a pod 100 exposes one or more APIs 110 and UIs 115which are utilized by the system users, such as advertisers andagencies, to access services of the ad campaign management system, suchas for reading data from and writing data to the campaign data store105. The APIs 110 and UIs 115 may be also provided through a distrocomponent described in detail in U.S. patent application Ser. No.11/324,129, titled “System and Method for Advertisement Management”,filed Dec. 30, 2005, the entirety of which is hereby incorporated hereinby reference. The advertisers and their agencies may use the APIs 110,which in one embodiment includes XML-based APIs, to allow access to thead campaign management system and data contained therein. In oneembodiment, the UI 115 comprises a website or web application(s) forenabling user access to the ad campaign management system. The pod 100utilizes internal APIs 130, which are shared code and functions betweenthe APIs 110 and UI 115, to facilitate interaction with campaign datastore 105.

According to some embodiments, the above-described user and applicationprogram interfaces are used to facilitate management and optimization ofad campaigns, which include, but are not limited to, management oflistings associated with an auction-based search-term related sponsoredsearch results listings marketplace. For example, advertisers use theseinterfaces to access ad campaign information and ad campaign performanceinformation saved in the ad campaign data store 105, search theinformation, analyze the information, obtain reports, summaries, etc.Advertisers may also change listings or bidding strategies using theseinterfaces, which changes are updated in the campaign data store 105.Furthermore, these interfaces may be used to perform comparisons of theperformance of components of ad campaigns, such as performance ofparticular listings, search terms, creatives, channels, tactics, etc.

While functionality and use of application program interfaces of the podis described with reference to an auction-based search term-relatedsponsored listings context, it is to be understood that, in someembodiments, these interfaces may be used with regard to off-line ornon-sponsored search ad campaigns and ad campaign performance, orcombinations of on-line and off-line ad campaigns information, as well.

A keyword suggestion component 120 provides for keyword suggestionthrough interfaces 110, 115 for assisting users with ad campaignmanagement based on seed terms or a universal resource locator (“URL”)provided by a user. In one embodiment of the invention, the keywordsuggestion component 120 assists users to search for available searchterms. As described above, in an auction-based system or marketplace,advertisers bid for search terms or groups of terms, which, when used ina search by customers, will cause display advertisement listings orlinks among the search results. The keyword suggestion component 120provides suggestions to advertisers regarding terms they should bebidding. In one embodiment, the keyword suggestion component 120 maylook at actual searches conducted in the last month and provide asuggestion based upon previous searches. In another embodiment, thekeyword suggestion component 120 may look at the terms other advertisersof similar products or services are bidding on and suggest these termsto the advertiser. In yet another embodiment, the keyword suggestioncomponent 120 may determine terms that customers who bought similarproducts or services use in their searches and suggest these terms tothe advertiser. In another embodiment, the keyword suggestion component120 may maintain a table of terms divided into several categories ofproducts and services and allow an advertiser to browse through and topick the available terms. In other embodiments, the keyword suggestioncomponent 120 may use other techniques for assisting advertisers in theterm selection process, such as suggesting a new term to the advertiserif the advertised products and services are unique.

The editorial processing system (EPS) 125 ensures relevance andmitigates risks of advertisers' listings before a listing canparticipate in the auction. In general, the EPS 125 reviews new orrevised ads. In one embodiment, the EPS 125 applies a set of businessrules that determines accuracy and relevance of the advertiser listings.These rules may be applied automatically by the EPS 125 or through ahuman editorial review. The EPS 125 may, for example, detectinappropriate content in the advertiser listings or illegally usedtrademark terms. In one, EPS 125 responds with an annotation such asrejected, approved, rejected but suggested changes, etc.

In one embodiment, EPS 125 may comprise a quick check component. Thequick check component performs a preliminary or a “quick check” todetermine whether to accept or reject an ad automatically before it issubmitted to a human editor and stored in the campaign data store 105.In one embodiment, either API 110 or a UI 115 invokes the quick checkcomponent service so that advertiser can receive instant feedback. Forexample, use of prohibited words, such as “best” in the submittedadvertisement, may be quickly detected by the quick check component and,obviating the need for human editorial review. In contrast, using wordssuch as gambling, adult services, etc., the quick check component mightdetermine that the ad requires a more thorough editorial review. One ofthe benefits of the quick check component is the rapid provision offeedback to the advertiser, which enables the advertiser to revise thelisting right away and thus to expedite review by the human editor.

Again with reference to FIG. 1, according to one embodiment, the pod 100may further comprise a channel server 150, which is operable to receiveand process data received from an advertising channel, such asGoogle.com and MSN.com. This data may include but is not limited to thecustomer profiles, historical user behavior information, rawimpressions, cost, clicks, etc. Additional description of userinformation and its uses can be found in U.S. Patent Application No.60/546,699 and Ser. No. 10/783,383, the entirety of which are bothhereby incorporated by reference. The channel server 150 may further beoperable to re-format the received data into a format supported by thead campaign management system and to store the reformatted data into thecampaign data store 105.

In one embodiment, pod 100 may further comprise a business informationgroup (BIG) component 155. BIG 155 is operable to receive cost, click,and impression data that is coming into the pod 100 from various sourcesincluding the channel server 150, pod collection server 135 andthird-party analytics feeds component 180. BIG 155 assures that thisdata is received in a correct and timely manner. In one embodiment, BIG155 may also perform aggregation and filtering on raw data impressionsand clicks that are coming into the pod 100. BIG 155 may be furtheroperable to store the collected and processed data into the CampaignData Store 105. In other embodiments, BIG 155 may also perform internalreporting, such as preparing business reports and financial projectionsaccording to teaching known to those of skill in the art. To that end,in one embodiment, BIG 155 is operable to communicate with the AccountMonitoring component 160, which will be described in more detail next.

In one embodiment, the pod 100 may further comprise an accountmonitoring component 160. This component 160 may be operable to performbudgeting and campaign asset allocation. For example, the accountmonitoring component 160 may determine how much money is left in a givenadvertiser's account and how much can be spent on a particular adcampaign. In one embodiment, the account monitoring component 160 mayemploy a budgeting functionality to provide efficient campaign assetallocation. For example, an advertiser may set an ad campaign budget fora month to $500. The account monitoring component 160 may implement anad bidding scheme that gets actual spending for that month as close to$500 as possible. One example of a bidding scheme employed by theaccount monitoring component 160 would be to lower the advertiser's bidsto reduce how often the advertiser's ads are displayed, therebydecreasing how much the advertiser spends per month, which may beperformed dynamically. Another example of budgeting by the accountmonitoring component 160 is to throttle the rate at which advertisementsare being served (e.g., a fraction of the time it is served) withoutchanging the advertiser's bid (whereas in the previous example the bidwas changed, not the rate at which advertisements were served). Anotherexample of throttling is to not serve an ad as often as possible but putit out according to a rotation.

In one embodiment, the pod 100 may further comprise a financialcomponent 165, which may be an accounting application for planning andbudgeting ad campaign expenses. Using the financial component 165advertisers may specify budgets and allocate campaign assets. Thefinancial component 165 provides an advertiser with the ability tochange distribution of campaign budget and to move money betweendifferent campaigns. The financial component 165 may also presentadvertisers with information on how much money is left in the accountand how much can be spent on a particular ad campaign. In someembodiments, the financial component 165 may further be operable toprovide advertisers with information regarding profitability, revenue,and expenses of their ad campaigns. The financial component 165 may, forexample, be implemented using one or more financial suites from OracleCorporation, SAP AG, Peoplesoft Inc., or any other financial softwaredeveloper.

In one embodiment, pod 100 may further comprise an online sign-up (OLS)component 195. The OLS component 195 may be operable to provideadvertisers with a secure online sign-up environment, in which secureinformation, such as credit card information, can be exchanged. Thesecure connection between the advertiser computer and the OLS component195 may be established, for example, using Secure Hypertext TransferProtocol (“SHTTP”), Secure Sockets Layer (“SSL”) or any other public-keycryptographic techniques.

In one embodiment, the pod 100 may further comprise a quality scorecomponent 185 that calculates one or more values such as an adclickability score and a quality score. An ad clickability score is oneof the ad performance parameters whose value represents a quality of anad at the time the advertisement service provider serves the ad. The adclickability score is internal to the ad campaign management system andis typically not exposed external to the ad campaign management system.A quality score is one of the ad performance parameters that is exposedexternally from that ad campaign management system and may be used bythe search serving components, such as advertising channels and searchengines, to qualify the relative quality of the displayed ads. Thus thequality score is calculated by the search serving components and fedinto the ad campaign management system through the quality scorecomponent 185 in accordance with one embodiment of the presentinvention. In some embodiments, the quality score is displayed to theadvertiser, so that the advertiser may revise the ad to improve itsquality score. For example, if an ad has a high quality score, then theadvertiser knows not to try to spend money and time trying to perfectthe ad. However, if an ad has a low quality score, it may be revised toimprove ad's quality score.

In one embodiment, the pod 100 further comprises a forecasting component190, which is an analytical tool for assisting the advertiser withkeyword selection. In some embodiments, the forecasting component isoperable to predict keywords trends, forecast volume of visitor trafficbased on the ad's position, as well as estimating bid value for certainad positions.

In one embodiment, the forecasting component 190 is operable to analyzepast performance and to discover search term trends in the historicaldata. For example, the term “iPod” did not even exist several years ago,while now it is a very common term. In another embodiment, theforecasting component 190 performs macro-trending, which may includeforecasting to determine terms that are popular in a particular region,for example, California, or with particular demographic, such as males.In yet another embodiment, the forecasting component 190 providesevent-related macro- and micro-trending. Such events may include, forexample, Mother's Day, Christmas, etc. To perform event-related trendingfor terms related to, for example, Mother's Day or Christmas, theforecasting component 190 looks at search patterns on flower-relatedterms or wrapping paper terms. In other embodiments, the forecastingcomponent 190 analyzes the historic data to predict the number ofimpressions or clicks that may be expected for an ad having a particularrank. In another embodiment, the forecasting component 190 is operableto predict a bid value necessary to place the ad in a particularposition.

In one embodiment, the pod 100 further comprises a weight optimizer 170,which may adjust the weights (relative display frequency) for rotatingelements as part of alternative ad (“A/B”) functionality that may beprovided by the ad campaign management system in some embodiments of thepresent invention. The A/B testing feature allows an advertiser tospecify multiple variants of an attribute of an ad. These elements mayinclude creative (title, description and display URL), destination(landing URL) and perhaps other elements such as promotions and displayprices. More specifically, when an end-user performs a search, the adcampaign management system assembles one of the possible variants of therelevant ad and provides it to the advertising channel for display tothe end-user. The ad campaign management system may also attach trackingcodes associated with the ad, indicating which variant of each attributeof the ad was actually served. The behavior of the end-user then may beobserved and the tracking codes may be used to provide feedback on theperformance of each variant of each attribute of the ad.

In determining the weight for a particular element, the weight optimizercomponent 170 may look at actual performance of ads to determine optimalads for delivery. The weight optimizer component 170 operates inmultiple modes. For example, in Optimize mode the weight (frequency ofdisplay) of each variant is changed over time, based on the measuredoutcomes associated with each variant. Thus, the weight optimizercomponent 170 is responsible for changing the weights based on themeasured outcomes. The weight optimizer component may also operateaccording to Static mode, in which the weights (frequency of display) ofeach variant are not changed by the system. This mode may provide datapertaining to measured outcomes to the advertiser. The advertiser mayhave the option to manually change the weights.

The pod 100 may further comprise a campaign optimizer component 175,which facilitates ad campaign optimization to meet specific ad campaignstrategies, such as increasing number of conversions from displayed adswhile minimizing the cost of the campaign. To that end, in someembodiments, campaign optimizer component 175 uses data received fromthe channel server 150, forecasting component 190, third party analyticsfeed component 190, quality score component 185, and BIG 155 todetermine how much to bid on which ads, how to allocate the budgetacross different ads, how to spend money over the entire period of thecampaign, etc. Furthermore, campaign optimization not only focuses onexecuting ads efficiently, but also performing arbitrage between adsacross various channels and tactics to determine where the limited adcampaign budget is most effective.

In one embodiment, the campaign optimizer component 175 analyzes theobtained analytics data, including ad campaign information, ad campaignperformance information, as well as potentially other information, suchas user information, to facilitate determining, or to determine, anoptimal ad campaign strategy. Herein, an “optimal” ad campaign strategyincludes any ad campaign strategy that is determined to be optimal orsuperior to other strategies, determined to be likely to be optimal,forecasted or anticipated to be optimal or likely to be optimal, etc. Insome embodiments, optimizing is performed with respect to parameters, ora combination of parameters, specified by an advertiser, suppliedautomatically or partially automatically by the ad campaignsfacilitation program, or in other ways.

In addition to the foregoing, ad campaign strategy may include anycourse of action (including, for example, changing or not changingcurrent settings or strategy) or conduct, or aspects or componentsthereof, relating to an ad campaign. An ad campaign strategy may includea recommendation regarding a course of action regarding one or moreaspects or parameters of an ad campaign, and may include an immediatecourse of action or set of parameters, or a course of action or set ofparameters for a specified window of time. For example, an optimal adcampaign strategy in the context of an auction-based search resultlistings situation, may include recommendations relating to bidding andbid hiding rates in connection with an auction or marketplace relatingto search term or group of terms in connection with sponsored listings.

In some embodiments, the campaign optimizer component 175 may beoperable to analyze ad campaign performance information to determine anoptimal ad campaign strategy. Ad campaign performance information mayinclude a variety of information pertaining to historical performance ofan ad campaign, channel, tactic, or ad or group of ads. Ad campaignperformance information can include many types of information indicatingor providing a suggestion of how effectively ads, or ads presentedthough a particular channel, etc., influence or are likely to influenceuser or consumer behavior. For example, an advertising channel such asYahoo! may collect performance information with respect to a particularsponsored search result listing. The information may include a number orpercentage of viewers who clicked on the link, or who shopped at orpurchased a product at the advertisers Web site as a result of thelisting, etc.

The campaign optimizer component 175 may be operable to analyze adcampaign information to determine an optimal ad campaign strategy. Adcampaign information may include campaign objectives or budget-relatedconditions or constraints, or can include information specifying,defining, or describing ads themselves, channels, tactics, etc. Withregard to auction-based sponsored search result listings, ad campaigninformation can include bidding parameters such as maximum or minimumbids or bidding positions (rankings or prominence of listings)associated with a term or term cluster, for instance, as furtherdescribed below. Such ad campaign information can also include campaignobjectives, quotas or goals expressed, for example in metrics such asROAS (return on ad spend), CPI (clicks per impression), or in othermetrics, and with respect to individual ads, terms or term groups,channels, tactics, etc.

The campaign optimizer component 175 may further include bidoptimization functionality, which may be used by the system to determinea desirable or optimal bid for a listing, such as a paid search result.The bid optimization functionality of the campaign optimizer component175 may be used to constrain the set targets and constraints on the bidsset by an advertiser. The constraints may include a maximum bid and aminimum bid. The targets may be associated with the listing and can bespecified in terms of one or more metrics related to the performance ofthe listing. The campaign optimizer component 175 may analyze recentpast analytics in connection with the metric and specify a bidrecommendation forecasted by the bid optimizer functionality to achievethe target or get as close to the target as possible. In someembodiments, the campaign optimizer component 175 can also provide arecommendation for a listing, which may include a maximum bid and anupdate period, which update period can be a time between maximum bidhiding updates. In other embodiments, the campaign optimizer component175 can also provide a recommendation including a range of values thatshould allow the listing to obtain a premium position when served, suchas a first page listing.

To facilitate ad campaign management and optimization, the pod 100 isfurther operable to collect visitor state data from the advertiserwebsites in accordance with a preferred embodiment of the ad campaignmanagement system. To that end, the pod 100 utilized pod collectionserver 135, script server 140, and image server 145 to collect visitorstate data and to store the same in the campaign data store 105. Thecollected visitor state data may then be used by various components ofthe pod 100 including, but not limited to, campaign optimizer component175, forecasting component 190, and BIG 155 to generate ad campaignperformance data in accordance with various embodiments of the presentdisclosure.

The various methods of data collection in accordance with variousembodiments of the present invention may include, but are not limitedto, full analytic, campaign only, conversion counter and sampling. Inone embodiment, full analytics collection provides the most robustcollection method. The full analytics collection collectsmarketing-based and free search-based leads. As a result, the advertisermay see a complete picture of how leads and conversions are generated.Primarily, the full analytics collection method provides a full funnelreport that will provide a key view into how visitors of the advertiserwebsite go from being a lead through to browser, prospect, and finallyto a conversion event. Visitor state storage on Campaign Data Store 105may also allow for repeat and return customer report data and for a fullsuite of accreditation methods.

In another embodiment, a campaign only analytics collection method ismuch like full analytic but only paid marketing events are tracked andresult events generated from free search are ignored or discarded. Thishas the advantage of providing funnel and repeating visitor reports aswell as a reduced data collection and storage rate. The campaign onlyanalytics method provides a balance of rich report data and reducedcollection, processing, and storage cost.

In yet another embodiment, the conversion counter method is the mostsimple analytics data collection available. With conversion counteranalytics, the advertiser places a tag on pages where value is generatedfor the advertiser, such as revenue. The image server 145 places thelead “stack” in a cookie, which may be used to accredit the properterm/creative to the conversion event. This data collection mechanismgenerates enough data to provide optimization on creative weighting. Itshould be further noted that in one embodiment a direct accreditationmethod may be applied to the conversion counter method. In theconversion counter approach, no visitor state storage is needed and onlyconversion events are received. Thus, this approach has a minimal effecton pod 100 load and data storage requirements. In another embodiment, asampling method is utilized. In accordance with this method, only arandom number of unique visitors, for example, 10%, are tracked, whichreduces data collection and storage.

In order to allow for accreditation of the lead generation source to aconversion event, the state of the customer session on the advertiser'swebsite may be maintained. Accreditation is the process by which all themarketing events are tied to a specific, or set of specific, marketingactivities. There are two known approaches that may be utilized forstorage of visitor state: client-side cookies and server-side database.

In one embodiment, cookies may be used as an exemplary client-sidevisitor state storage. When cookies are used to store visitor state oneof two methods may be used to store visitor state. A redirection serverused on the lead generating event may add the visitor state to thecookie at the click event. Alternatively a collection server may set thecookie at the time of a lead event. While visitor state in the cookieapproach is the most cost effective it has several disadvantages.Generally, cookies have low storage requirements and thus an activesearch user (typically, most valuable users because they generate themost revenue) could lose accreditation information as their lead stackgrows and causes some older events to be pushed out. As a result, aconversion event could occur where the lead information was lost in thestack and thus the accreditation is lost. Furthermore, cookie-off usersare essentially invisible to the system. Moreover, efficacy is reduceddue to the additional time needed to parse the collection server requestwhen the cookie is set, which may cause end users to click away from thelead page before the cookie can be completed. Finally, cookie basedvisitor state storage prevents any internal analysis of user behavior.

In another embodiment, server-side database, such as the CDS 105, may beused to store visitor state. Using server side storage in a databaseoffers the high efficacy rates but at the additional cost of thestorage. Using server side storage of visitor state allows the adcampaign management system to have more advanced accreditation models,which could allow for assist-based accreditation. Efficacy rates overcookie based visitor state storage are increased due to many factors.Primarily the system is no longer limited in the amount of visitor statestorage a single user can have so no lead loss would occur. Cookies offusers can still be traced as unique visitors so they can still betracked (although at a reduced rate of accuracy) and thus are able to beincluded. Collection event processing latency is greatly reduced becausethe event can be just logged and then actually processed later. With thecookie approach lead accreditation has to occur at the time the event isreceived because the cookie must be evaluated before the request isreturned by the beacon servers. Furthermore, with visitor state storedin the campaign data store, valuable marketing data can be collected andanalyzed for internal use.

In one embodiment, the ad campaign management system utilizes acombination of the above-described client-side cookies and server-sidedatabase techniques to collect and maintain visitor state data. Inparticular, as indicated above the pod 100 utilizes pod collectionserver 135, script server 140, and image server 145 to collect visitorstate data and to store the same in the campaign data store 105. In oneembodiment, the pod collection server 135, script server 140 and imageserver 145 may be implemented, for example, as Java servlets.

FIG. 2 is a diagram of one embodiment of a model for the maintenance ofads according to the ad campaign management system of FIG. 1. Asdepicted, an ad campaign management system comprises a data store 200that facilitates hierarchical storage of ad campaign data, providingadvertisers with multiple levels of structure for control ofadvertisement content. In particular, an advertiser utilizing servicesof the ad campaign management system may be provided with a masteraccount 205 for receiving aggregated analytics relating to the masteraccount 205 and managing or optimizing Web properties 210 andadvertisements within the master account 205 based on the aggregatedanalytics. A Web property 210 may include a website, or a combination ofrelated websites and pages for which the advertiser is advertising.Furthermore, within master account 205, an advertiser may create severalaccounts 220 to separately manage ad campaigns, as well as to collect adperformance information.

To facilitate tracking and collection of ad performance data from Webproperties 210, data store 200 further maintains custom tags, programcode, navigation code, etc. 215. According to one embodiment, a tag 215may comprise a piece of code that is created by the system and placed onrelevant Web pages of a given website to allow automatic tracking andcollection of data indicative of customer session on the advertiserwebsite. For example, a tag may be used to track user visits,interaction, or purchases from a website to which a user navigates as aresult of clicking on an advertisement link associated with the website.Depending on specific needs and business objective of a givenadvertiser, tags may be coded to collect specific information about thecustomer session that is of interest to the advertiser. Thus, some tagsmay enable collection of data on numbers of raw clicks on the advertiserwebsite, while others tags may track numbers of clicks that resulted inconversions, e.g., purchase of a product or service from the advertiserwebsite. Those of skill in the art will recognize that data collectionmay be limited to other portions of the customer session.

Some embodiments utilize, or may be combined with, features ortechnologies, such as, for example, HTML tagging, data tracking, andrelated technologies, as described in U.S. patent application Ser. Nos.09/832,434 and 09/587,236, the entirety of which are both herebyincorporated herein by reference.

In one embodiment, within a master account 205, an advertiser maymaintain one or more accounts 220, which may be used to receiveanalytics related to a specific account 220 and manage ad campaignspending associated with individual Web properties 210. Thus, accounts220 allow advertisers to distribute their advertising funding betweendifferent Web properties 210 and between separate ad campaigns 225. Agiven ad campaign 225 may include a set of one or more advertisingactivities or conduct directed to accomplishing a common advertisinggoal, such as the marketing or sales of a particular product, service,or content, or group of products, services or content. Two ad campaignsmay be considered disparate when the ad campaigns are directed todifferent advertising goals. For example, an advertiser may wish toadvertise a product for sale and a service associated with this product.Thus, the advertiser may store separate ad campaigns 225 for advertisingthe product and the service.

In one embodiment, storage of an ad campaign 225 may be furthersubdivided into several ad groups 230. An ad Group 230 may be thought ofas a conceptual compartment or container that includes ads and adparameters for ads that are going to be handled in a similar manner. Anad group 230 may allow for micro-targeting, e.g., grouping ads targetedto a given audience, a demographic group, or a family of products. Forexample, an ad group may be related to a given manufacturer's products,such as Sony, Microsoft, etc. or a family of high-end electronics, suchas TVs, DVDs, etc. There is a number of ways in which a given group ofads may be managed in a similar manner. For example, an advertiser mayspecify that there be a certain markup (e.g., 50%) on items in a givenad group, may want to distribute all those ads in a certain way, or maywant to spend a certain amount of its budget on those advertisements.Further, an ad group 230 provides a convenient tool for an advertiser tomove a large group of ads and ad parameters from one ad campaign 225 toanother ad campaign 225, or to clone a large group of ads and adparameters from one ad campaign 225 to another ad campaign 225.

In one embodiment, changes made to the parameters of a given ad group230 may apply to all ads within the given ad group. For example, onesuch parameter may be pricing. For a sponsored search, an advertiser mayset the default price for the whole ad group but may override the priceon each individual term. Similarly, an advertiser may further specifythat certain terms are low value, but decide to increase the amountspent on another term uniformly across all ads in a given ad group.Thus, storage according to one or more ad groups 230 enables advertisersto bridge the gap between ad campaigns and the individual ads comprisinga given ad campaign.

A given ad may contain one or more items of advertising content that areused to create ads/terms in an ad group, including, but not limited to,creatives (e.g., titles, descriptions) and destination URLs (plusassociated URL tracking codes). Optionally, a given ad may contain a{KEYWORD} token for substitution of alternate text in the title,description, or other ad component. Furthermore, ads may exist as atemplate in an ad library (not pictured) that can be reused across adgroups or a local ad that is used and stored only within a specific adgroup. The ad library, which may be provided by the ad campaignmanagement system, allows advertisers to store ad templates, sharing andreusing them across campaigns and ad groups. Ads in the ad library maybe shared within an account, e.g., each account has its own library.

An ad group 230 may utilize numerous tactics for achieving advertisinggoals. The term “tactic” includes a particular form or type ofadvertising. For example, in on-line advertising, tactics may includesponsored search result listings 235, banner advertisements 255, contentmatch 270, etc. In off-line advertising, tactics may include televisioncommercials, radio commercials, newspaper advertisements, etc. Indifferent embodiments, tactics may include subsets or supersets of thelisted examples or other examples. For instance, on-line advertising isan example of a broader tactic than the narrower tactic of sponsoredsearch result listings. Furthermore, the advertiser may utilize multipleadvertising channels for different tactics. For example, the advertisermay utilize sponsored search listings in several websites or portals,such as Yahoo!, Google.com, MSN.com, etc. In one embodiment, a user mayset parameters within the ad group 230 to place a spend limit for eachtype of advertising tactic comprising the ad group 230.

One example of an advertising tactic is sponsored search 235. Accordingto one embodiment, sponsored search 235 operates as follows: anauction-based system or marketplace is used by advertisers to bid forsearch terms or groups of terms, which, when used in a search, causesthe display of a given advertiser's ad listings or links among thedisplay results. Advertisers may further bid for position or prominenceof their listings in the search results. With regard to auction-basedsponsored search 235, a given advertiser may provide a uniform resourcelocator (URL) 240 to the webpage to which the ad should take thecustomer if clicked on, as well as the text of the advertisement 245that should be displayed. Advertiser may further identify one or moreterms 250 that should be associated with the advertisement 245.

Another example of advertising tactic is content match 270. Storage ofcontent match advertisements 280 may be used by the advertiser tocomplement, or as alternative to, the sponsored search tactic 235. Adsstored according to the content match tactic 270 are displayed alongsiderelevant articles, product reviews, etc, presented to the customers. Forthe content match tactic 270, data store 200 stores one or more URLs 275identifying the address of a webpage where given ad should take thecustomer if clicked on, as well as the text, image, video or other typeof multimedia comprising the creative portion of the advertisement 280.

Yet another example of an advertising tactic is banner ad 255. Banner adtactic 255 may be used by the advertiser to complement, or asalternative to, the sponsored search tactic 235 and content match tactic270. In contrast to the sponsored search tactic and content matchtactic, which are usually based on a pay-per-click payment scheme, anadvertiser pays for every display of the banner ad 265, referred to asan impression. Alternatively, if the banner ad displays a phone number,advertiser may only be billed when a user calls the phone numberassociated with the advertisement. Thus, for the banner ad tactic, thedata store 200 maintains a URL 260 to the webpage where the ad shouldtake the customer if clicked on, as well as the creative that comprisesthe banner ad 265.

The data store 200 of the ad campaign management system may furtherstore various parameters for each ad group. Such parameters may include,for example, maximum or minimum bids or bidding positions (rankings orprominence of listings) associated with a term or term cluster for theparticular ad group or ads within a given ad group. As described above,in embodiments of an auction-based sponsored search result listingsenvironment, prominence or rank of listings is closely related to adperformance, and therefore a useful parameter in ad campaign management.The rank of a given ad determines the quality of the placement of the adon pages that are displayed to customers. Although details vary byadvertising channel, top-ranked listings typically appear at the top ofa page, the next listings appear in the right rail and additionallistings appear at the bottom of the page. Listings ranked below the topfive or so will appear on subsequent search results pages.

There is a correlation between rank and both number of impressions andclick-through rate (clicks per impression), which provides anopportunity for advertisers to pay more per click (get a higher rank) inorder to get more visitors to their web site. The result is that anadvertiser may determine, how much the advertiser should be willing tobid for each listing based on the advertiser's business objectives andthe quality of the traffic on their web site that is generated by thelisting. This information may also be stored for a given ad group 230 inthe data store 200 of the ad campaign management system of the presentinvention.

FIGS. 3-31 are examples of different embodiments of graphical userinterfaces (“GUIs”) 115 to the advertisement campaign management systemof FIG. 1 that provide a user the ability to display, manage, optimize,or view and customize reports on, advertisement campaign information. Asused herein, advertisement campaign information may comprise informationsuch as current or historical performance of an advertisement or one ormore groupings of advertisements; campaign objectives relating to anadvertisement or one or more groupings of advertisements; budget-relatedconditions or constraints relating to an advertisement or one or moregroupings of advertisements; information specifying, defining, ordescribing an advertisement; bidding parameters such as maximum orminimum bidding positions associated with an advertisement or one ormore groupings of advertisements; metrics such as return on ad spend(“ROAS”), cost per click (“CPC”), or clicks per impression (“CPI”)associated with an advertisement or one or more groupings ofadvertisements; cost per acquisition (“CPA”) or any other parameterassociated with advertisements or one or more groupings of advertisementprovided by an advertisement service provider.

FIG. 3 is an example of one embodiment of a GUI displaying advertisementcampaign information. Generally, the GUI 300 provides a high levelsummary of an account, a high level summary of at least a portion of thead campaigns and ad groups within a user account, a graphicalillustration of performance parameters related to the user account, anda listing of any alerts associated with the user account.

In one embodiment, the GUI 300 comprises an alert section 302, a accountsummary performance section 304, and an ad campaign/ad group summarysection 306. The alert section 302 may comprise one or morenotifications 308 to a user. The one or more notifications 308 mayrelate to a user account as a whole, an ad campaign of the advertiseraccount, an ad group of an ad campaign, an individual advertisement, orany other grouping of information defined by an advertiser or anadvertisement service provider. For example, the one or morenotifications 308 may alert the user that a keyword has been declined,that a credit card associated with the user account is about to expire,that an advertisement has been rejected, or any other type of alertdesired by an advertisement service provider. Further, the alert section302 may comprise a drop down menu 310 to filter the one or morenotifications 308 based on a user account as a whole, an ad campaign, anad group, an individual advertisement, or any other grouping ofinformation defined by an advertiser or advertisement service provider.

The account summary performance section 304 may comprise a graph 312illustrating performance parameters for the account over a period oftime. Exemplary performance parameters include impressions, clicks,acquisitions, or revenue relating to a user account as a whole, anindividual advertisement, an ad group, an ad campaign, or any othergrouping of information defined by an advertiser or an advertisementservice provider. In addition to the graph 312, the account summaryperformance section 304 may also comprise a numerical listing 314 ofperformance parameters such as impressions, clicks, acquisitions, orrevenue relating to a user account as a whole, an ad campaign, an adgroup, an individual advertisement, or any other grouping of informationdefined by an advertiser or an advertisement service provider.

The ad campaign/ad group summary section 306 may comprise one or moresummaries of ad campaigns and ad groups 316 which may be filteredaccording to a drop-down menu filter 317. The drop-down menu filter 317may allow a user to filter the summaries of the ad campaigns and adgroup 316 based on an ad campaign, an ad group, top performing adgroups, a search tactic, or any other grouping of information defined byan advertiser or an advertisement service provider. In FIG. 3, the oneor more summaries of ad campaigns and ad groups 316 are filteredaccording to the top target groups (top ad groups). The summaries of thead campaigns and ad groups 316 may comprise information relating to thename of an ad campaign 320, the name of an ad group 322 associated withthe ad campaign 320, a top performing advertisement 323, a search tacticof the ad campaign and ad group 324, a number of impressions of theadvertisements within the ad group 326, a click-through-rate (“CTR”) ofthe ad group 328, the number of clicks on advertisements within the adgroup 330, the cost-per-click (“CPC”) of the advertisements within thead group 332, the amount spent by a user on the advertisements withinthe ad group 334, or any other performance parameter provided by anadvertisement service provider relating to an ad campaign or an adgroup. A top performing advertisement 322 may be an advertisement havinga highest performance parameter within the ad campaign or ad group asdefined by the advertiser or advertiser service provider, such as theadvertisement with the highest number of impressions, highest CTR, orthe largest number of clicks.

The ad campaign/ad group summary section 306 may additionally comprise adate range selection tool 336. By activating the date range selectiontool 336, a user may choose a date range over which they would like toview the performance parameters listed in the ad campaign/ad groupsummary section 306. For example, the user may choose to viewperformance parameters over the last 24 hours, over the last month, fora two-week period a month ago, or any other period of time defined bythe user. It will be appreciated that the date range selection tool 336may be applied to other GUIs described below with respect to FIGS. 4-31.

FIG. 4 is an example of another embodiment of a GUI displayingadvertisement campaign information. FIG. 4 illustrates that whendisplaying advertisement information based on one or more ad campaignsand ad groups 416 as in FIG. 3, a user may actuate one or morehyperlinks 432 to dynamically create a secondary GUI 434. The secondaryGUI 434 may comprise information such as a top performing advertisement.

FIGS. 5 a and 5 b are examples of embodiments of a GUI displayingadvertisement campaign information. In FIG. 5 a, the GUI 500 comprisesan ad campaign summary section 502 that lists summaries of one or moread campaigns 504, in addition to an alert section 506 and a performancesection 508 similar to the alert and performance sections describedabove with respect to FIG. 3. The summaries of the one or more adcampaigns 504 in FIG. 5 are filtered according to the top performing adcampaigns 510. Each summary of an ad campaign may comprise numericallistings of performance parameters associated with ad campaigns such asa monthly budget 512, a number of impressions 514, a clickthrough rate(“CTR”) 516, a number of clicks 518, a cost per click (“CPC”) 520, anumber of acquisitions 522, a cost-per-acquisition (“CPA”) 524, revenue526, return on ad spend (“ROAS”) 528, the amount spent on the adcampaign 530, or any performance parameter provided by an advertisementservice provider.

In FIG. 5 b, the GUI 501 comprises an ad campaign section 502 that listssummaries of one or more ad campaigns 504, in addition to an alertsection 506 and a performance section 508 similar to the alert andperformance sections described above with respect to FIGS. 3 and 5 a.The GUI 501 additionally includes a drop-down menu 532 to select amaster account and a drop-down menu 534 to select an account within theselected master account. The ad campaign management system typicallyorganizes accounts in a hierarchical manner such that multiple accountsare associated with a single master account.

The GUI 501 additionally includes a drop-down menu 536 to choose aperformance parameter to graph in the performance section 508 and adrop-down menu 538 to select a number of campaign summaries displayed inthe ad campaign section 502 at one time. Similar to the campaignsummaries described above, the campaign summaries include performanceparameters relating to an ad campaign such as an assist 540. A number ofassists for a campaign is a number of times that a potential completed aconversion for a related product or service after previously searchingfor information related to the campaign. For example, a potential mayfirst search a first search term and not complete a conversation.However, the potential may then search a second term related to thefirst term and complete a conversion. When this occurs, the first termis given an assist in the conversion even though the potential completedthe conversion after searching the second term. A number of assists maybe calculated on a master account, account, ad campaign, ad group, orindividual advertisement or keyword level, or any other level defined byan advertiser.

It should be appreciated that any of the drop-down menus described withrespect to FIG. 5 b may be used with any of the user interfacesdescribed in FIGS. 3-31.

FIG. 6 is an example of one embodiment of a GUI for displaying andmanaging advertisement campaign information. Generally, the GUI 600 ofFIG. 6 comprises an ad campaign summary section 602 comprising summariesof one or more ad campaigns 603 within an advertiser account. Each ofthe one or more summaries of ad campaigns 603 may comprise performanceparameters associated with the ad campaign such as a monthly budget 604,a number of impressions 606, a CTR 608, a number of clicks 610, a CPC612, an amount spent on an ad campaign 614, or any other performanceparameter provided by an advertisement service provider that relates toan ad campaign. The GUI 600 may also comprise a summary bar 616 thatcomprises the aggregate information of all the advertisement campaigninformation displayed for the one or more ad campaigns 603. For example,the summary bar 616 may comprise the aggregate monthly budget 616,aggregate number of impressions 618, aggregate CTR 620, aggregate numberof clicks 622, aggregate CPC 624, a total amount spent on all adcampaigns 626, or any other performance parameter provided by anadvertisement service provider relating to an ad campaign.

The GUI 600 may additionally comprise one or more ad campaign actionhyperlinks 628. By selecting one or more ad campaigns and activating theone or more ad campaign action hyperlinks 628, a user may be able toperform actions such as pause an ad campaign, activate an ad campaign,delete an ad campaign, group multiple campaigns into one campaign, clonean ad campaign, add an ad campaign to a watch list, remove an adcampaign from a watch list, or any other functions that can be performedon an ad campaign as a whole.

FIG. 7 is an example of another embodiment of a GUI for displaying andmanaging advertisement campaign information. As in the GUI of FIG. 6,the GUI 700 displays a summary of one or more ad campaigns 702 within anadvertiser account. The GUI 700 may also comprise a filter bar 704 toallow a user to sort and view the ad campaign summaries according toperformance parameters, ad groups, or any other parameter provided by anadvertisement service provider associated with an ad campaign.

FIGS. 8 a and 8 b are examples of embodiments of graphical userinterfaces for displaying and managing advertisement campaigninformation. Similar to the GUIs of FIGS. 6 and 7, the GUI 800 adisplays a summary of one or more ad campaigns 802 within an advertiseraccount. The GUI 800 may also comprise a search bar 804 that allows auser to search the summaries of the one or more ad campaigns 802. Usingthe search bar 804, a user may search for, and display, particularsummaries of the one or more ad groups 802 based on performanceparameters such as impressions 806, CTR 808, clicks 810, CPC 812,acquisitions 814, CPA 816, revenue 818, ROAS 820, amount spent on the adcampaign 822, or any other performance parameter provided by theadvertisement service provider relating to an ad group. Further, thesearch bar 804 may allow a user to search for, and display, particularsummaries that are greater than, less than, or equal to a value 824input by the user.

FIG. 8 b illustrates that in addition to, or in place of, a search bar804 (FIG. 8 a), a GUI may provide an advanced search GUI 826. Theadvanced search GUI 826 provides a user the ability to search foradvertisements based on one or more search criteria. For example, theuser may search for advertisements based on a range of values for one ormore performance parameters associated with an advertisement or one ormore ad campaign management settings of an advertisement.

In one embodiment, the advanced search GUI 826 provides the ability tosearch for advertisements that contain a piece of text or advertisementsthat do not contain a piece of text 828. Additionally, the advancedsearch GUI 826 provides the ability to search advertisements based on arange of values relating to performance parameters such as average CPC830, impressions 832, CTR 834, clicks 836, cost 838, conversions 840,revenue 842, ROAS 844, or any other performance parameter associatedwith an advertisement that is provided by an advertisement campaignmanagement system. Further, the advanced search GUI 826 provides theability to search advertisements based on whether the advertisement isactive 846, whether the advertisement is being watched 848, or whetherthere are alerts associated with the advertisement 850.

It will be appreciated that the advanced search GUI 826 provides theability to search for advertisements based on any combination of one ormore search criteria. For example, a user may conduct a first search forall advertisements having an average CPC 830 between $0.50 and $0.75. Auser may also conduct a second search for all advertisements having anaverage CPC 830 between $0.50 and $0.75, a number of conversions 840between 100 and 500, and whose status 846 is set to active.

FIG. 9 is an example of another embodiment of a GUI for displaying andmanaging advertisement campaign information. Similar to the GUIs ofFIGS. 6-8, the GUI 900 displays a summary of one or more ad campaigns902 within an advertiser account. The GUI 900 may also comprise one ormore hyperlinks, that when activated by a user, causes the advertisementcampaign management system to create a secondary GUI 904. Typically, thesecondary GUI 904 displays information such as performance parametersrelating to an ad campaign in graphical form. In one embodiment, thesecondary GUI 904 may comprise a graph 905 of performance parametersover a period of time related to an ad campaign such as impressions 906,clicks 908, acquisitions 910, revenue 912, or any other performanceparameter provided by an advertisement service provider associated withan ad campaign.

FIG. 10 is an example of one embodiment of a GUI for displaying andmanaging advertisement campaign information. Generally, the GUI 1000comprises an ad group summary section 1002. The ad group summary section1002 typically comprises one or more summaries of ad groups 1004 withina campaign, a summary bar 1006, and a plurality of ad group actionhyperlinks 1008. Each summary of an ad group 1004 may compriseadvertisement campaign information relating to the ad group such as asearch tactic 1010, a number of advertisements within the ad group 1012,a number of impression 1014, a CTR 1016, a number of clicks 1020, a CPC1022, an amount spent on an ad group 1024, or any other performanceparameter provided by an advertisement service provider relating to anad group. Similarly, the summary bar 1006 may comprise aggregateadvertisement campaign information for all the ad groups within an adcampaign such as an aggregate number of ads 1026, an aggregate number ofimpressions 1028, an aggregate CTR 1030, an aggregate number of clicks1032, an aggregate CPC for the for the ad groups within the ad campaign1034, an aggregate amount spent for the ad groups within the ad campaign1036, or any other performance parameter listed in the summary of an adgroup 1004.

By selecting one or more ad groups within the ad group summary section1002 and activating one of the ad group action hyperlinks 1008, a usermay be able to perform an action such as pause an ad group, activate anad group, delete an ad group, group multiple ad groups into one adgroup, clone an ad group, move an ad group to a different ad campaign,add an ad group to a watch list, remove an ad group from a watch list,or any other function that can be performed on an ad group as a whole.

The GUI 1000 may additionally comprise a campaign setting hyperlink 1038that when activated by a user opens one or more GUIs such as those inFIGS. 11-15. FIG. 11 is an example of one embodiment of a GUI fordisplaying and managing an advertisement campaign. Generally, in theillustrated embodiment, the GUI comprises a basic information section1102, a business objective section 1104, a budget and schedule section1106, a tactic setting section 1108, and a geo-targeting section 1110.

The basic information section 1102 may comprise information relating toan ad campaign such as a name of the ad campaign 1112, a description ofthe ad campaign 1114, a status indicator 1116, an indication of whetherthe ad campaign is on a watch list 1118, or any other set of informationprovided by an advertisement service provider related to an ad campaign.The basic information section 1102 may also comprise an edit hyperlink1120 that when activated by the user allows that the user to edit any ofthe information listed in the basic information section 1102 as seen inFIG. 12 described below.

Referring again to FIG. 11, the business objective section 1104 gives anindication of results for respective business objectives. A businessobjective may be a performance goal for one of the parameters specifiedin FIG. 11, or another goal for the advisement campaign. The businessobjective section 1104 may comprise a listing of one or more performanceparameters 1122, a current value associated with each performanceparameter 1124, a designation of the importance of each performanceparameter 1126, and an indication of whether the values associated witheach performance parameter is inherited 1128. In one embodiment, a valueof a performance parameter may be inherited if the value was obtainedfrom an associated account level. For example, an ad campaign mayinherit a value of a performance parameter from an advertiser accountlevel setting that is propagated through all ad campaigns within theadvertiser account. Alternatively, ad group may inherit a value of aperformance parameter from an advertiser ad campaign level setting thatis propagated through all ad campaigns within an ad group. The businessobjective section 1104 may also comprise an edit hyperlink 1130 thatthat when activated by the user allows the user to edit any of thebusiness objective settings associated with the one or more performanceparameters 1124 as seen in FIG. 13 described below.

Referring again to FIG. 11, the budget and schedule section 1106 maycomprise advertisement campaign information such as a current monthlybudget 1132 for an ad campaign, and a start and end date 1134 for the adcampaign. The budget and schedule section 1106 may additionally comprisean edit hyperlink 1136 that when activated by the user allows the userto modify a budget, or a start and end date of an ad campaign associatedwith an ad campaign as seen in FIG. 14 described below.

Referring again to FIG. 11, the tactic setting section 1108 may comprisea sponsored search section 1140, a content match section 1142, or asection for any other type of search tactic known in the art. Generally,the sponsored search section 1140 may comprise one or more performanceparameters 1144 associated with sponsored search, a current value ofeach performance parameter 1146, and an indication whether the value ofeach performance parameter is inherited 1148. Similarly, the contentmatch section 1142 may comprise one or more performance parameters 1150associated with content match, a current value of each performanceparameter 1152, and an indication whether the value of each performanceparameter is inherited 1154. The tactic setting section 1108 may alsocomprise an edit hyperlink 1156 that when activated by the user allowsthe user to modify the tactic settings associated with an ad campaign asseen in FIG. 15 described below.

Referring again to FIG. 11, the geo-targeting section 1110 may comprisea listing of the names of countries 1158, cities 1160, or regions thatan ad campaign is directed to. The geo-targeting section 1110 may alsocomprise an edit hyperlink 1162 that when activated by the user allowsthe user to modify the geo-target settings associated with an adcampaign.

It will be appreciated that all of the advertisement campaigninformation displayed in GUI 1100 with respect to an ad campaign mayalso be displayed in a GUI with respect to an ad group.

FIG. 12 is an example of one embodiment of a GUI for editing basicinformation relating to an advertisement campaign. However, it will beappreciated that a similar GUI may be created for editing basicinformation relating to an ad group. Generally, the GUI 1200 comprises awindow 1202 for editing a name of the advertisement campaign, a window1204 for editing a description of the advertisement campaign, adrop-down menu 1206 for changing the status of the advertisementcampaign, a drop-down menu 1208 for changing whether the advertisementcampaign management system is to watch the advertisement campaign, and asave changes hyperlink 1210 to save the current information withinwindows 1202 and 1204, and drop-down menus 1206 and 1208.

FIG. 13 is an example of one embodiment of a GUI for displaying andmanaging business objectives at an ad campaign level. However, it willbe appreciated that that a similar GUI may be created for displaying andmanaging business objectives at an ad group level. Generally, the GUI1300 comprises listings for one or more business objectives 1302. Foreach business objective, a user may modify different parametersassociated with the business objective. For example, a user may choosewhether a business objective is inherited 1304 from a differentadvertiser account level as described above. A user may also inputvalues for performance parameters associated with the ad campaign 1306such as minimum and maximum position in a search listing, CPM, CPC, CPA,or ROAS if the value of the performance parameter is not inherited.Further, a user may also choose a level of importance 1308 for thebusiness objective such as not important, important, or high importancefor use with the campaign optimizer 175 (FIG. 1).

FIG. 14 is an example of one embodiment of a GUI for displaying andmanaging budget and scheduling parameters at an ad campaign level.However, it will be appreciated that a similar GUI may be created fordisplaying and managing budget and scheduling parameters at an ad grouplevel. Generally, the GUI 1400 comprises an estimate tool 1402, anestimate graph 1404, and a scheduling tool 1406.

The estimate tool 1402 allows a user to input values 1408 such as atarget monthly budget and to dynamically create estimated performanceparameters such as an estimated number of monthly impressions 1410 or anestimated number of monthly clicks 1412 based on the value input for atarget monthly budget.

The estimate graph 1404 may comprise an illustration of a potentialnumber of clicks vs. a current estimated number of clicks 1414 and anillustration of a budget necessary to obtain the potential number ofclicks vs. a current target monthly budget 1416. Additionally, theestimate graph 1404 may comprise numerical listings 1418 of a number ofimpressions and clicks that are missed with the current target monthlybudget. In one embodiment, the illustrations 1414, 1416 and numericallistings 1418 are dynamically updated when the user enters a new valuein the estimate tool 1402 and dynamically creates estimated performanceparameters. In one embodiment, the data necessary to calculate thepotential number of clicks, current estimated number of clicks, budgetnecessary to obtain the potential number of clicks, and number ofimpressions and clicks that are missed with the current monthly budgetis obtained from the campaign optimizer 175 (FIG. 1) and forecastcomponent 185 (FIG. 1) described above.

The scheduling tool 1406 allows a user to set a beginning date and anend date for an ad campaign. Typically, the scheduling tool 1406comprises a starting date 1420 window where a user can select a currentdate or a date in the future to start an ad campaign, and an ending datewindow 1422 wherein a user may select a date in the future to end thecampaign or choose to not have an ending date for the campaign.

FIG. 15 is an example of one embodiment of a GUI for editingadvertisement campaign tactic settings relating to an advertisementcampaign. However, it will be appreciated that a similar GUI may becreated for editing campaign tactic settings relating to an ad group.Generally, the GUI 1500 comprises a CPC selection area 1502, an advancematch selection area 1504, a listing of any negative keywords 1506, andan auto optimize selection area 1508.

The CPC selection area 1502 allows a user to set the CPC for theadvertisement campaign. In one embodiment, the user may choose toinherit a CPC from an account level by selecting an area 1510 within theCPC selection area 1502. Alternatively, a user may enter a CPC to usefor the advertisement campaign in a designated window 1512.

The advance match selection area 1504 allows a user to select whetheradvance match is turned on or off within the advertisement campaignmanagement system. When advance match is turned on, the advertisementservice provider implements advanced matching algorithms rather thanexact-phrase matching algorithms so that the advertisement serviceprovider serves an advertisement more often. The listing of negativekeywords 1506 are terms used when the advance match is turned on toavoid finding a match for an advertisement for certain meanings of aword when a keyword has multiple meanings.

Finally, the auto optimize selection area 1508 allows a user to selectwhether to allow the advertisement campaign management system to adjustone or more performance parameters of an advertisement campaign tooptimize performance of the advertisement campaign based on one or morebusiness objectives of a user.

FIG. 16 is an example of another embodiment of a GUI for displaying andmanaging advertisement campaign information. Generally, the GUI 1600 ofFIG. 16 comprises an ad campaign graph section 1602, an ad campaignsummary section 1604, an ad campaign management section 1606, and an adgroup summary section 1608 similar to the ad group summary sectiondescribed above with respect to the GUI 1000 of FIG. 10.

The ad campaign graph section 1602 typically comprises a graph 1610illustrating a selected performance parameter 1611 of the ad campaignover a period of time. For example, the graph 1610 may illustrate anumber of impressions of advertisements within a campaign, a number ofclicks, a number of acquisitions, revenue, or any other performanceparameter associated with an ad campaign provided by the advertisementservice provider.

The ad campaign summary section 1604 typically comprises one or moreaverage performance parameters 1612 for all ad groups within an adcampaign. For example, the average performance parameters 1612 maycomprise an average CPC, an average position in a search listing, anaverage click-through rate, a quality score for the overall campaign, orany other performance parameter associated with an ad campaign providedby the advertisement service provider than can averaged over all adgroups within an ad campaign.

The ad campaign management section 1606 typically comprises one or moreperformance parameters 1614 associated with an ad campaign, a currentvalue 1616 associated with each performance parameter 1614, and acurrent designation of the importance 1618 of each performance parameter1614. The one or more performance parameters 1614 relating to an adcampaign may comprise a minimum allowable position in a search listing,a maximum allowable position in a search listing, CPM, CPC, CPA, ROAS,or any other performance parameter provided by an internet serviceprovider.

Further, the GUI 1600 may comprise an edit hyperlink 1620 that whenactivated by a user, takes the user to a GUI such as in FIG. 13 to allowthe user to modify the business objectives associated with an adcampaign.

FIG. 17 is an example of another embodiment of a GUI for displaying andmanaging advertisement campaign information. Generally, the GUI 1700comprises an ad campaign graph section 1702, an ad campaign summarysection 1704, an ad campaign management section 1706, and an ad groupsummary section 1708 similar to the GUI 1600 of FIG. 16. However, theGUI 1700 of FIG. 17 also comprises a search bar 1710 that allows a userto search for, and display, summaries of one or more ad groups 1712associated with an ad campaign. Using the search bar 1710, a user maysearch for summaries of the one or more ad groups 1712 based on a searchtactic 1714, impressions 1716, CTR 1718, clicks 1720, CPC 1722,acquisitions 1724, CPA 1726, revenue 1728, ROAS 1730, an amount spent onthe ad group 1732, or any other performance parameter provided by theadvertisement service provider relating to an ad group. Further, thesearch bar 1710 may allow a user to search for summaries that aregreater than, less than, or equal to a value 1734 input by the user.

FIG. 18 is an example of another embodiment of a GUI for displaying andmanaging advertisement campaign information. Generally, the GUI 1800 ofFIG. 18 may comprise an ad group graph section 1802, an ad group summarysection 1804, an ad group top performing ad section 1806, and akeyword/advertisement summary section 1808.

The ad group graph section 1802 typically comprises a graph 1810illustrating a selected performance parameter 1812 of an ad group over aperiod of time. For example, the graph 1810 may illustrate a number ofimpressions of advertisements within an ad group, a number of clicks, anumber of acquisitions, revenue, or any other performance parameterassociated with an ad group provided by the advertisement serviceprovider.

The ad group summary section 1804 typically comprises one or moreaverage performance parameters 1813 for all advertisements within an adgroup. For example, the average performance parameters 1813 may comprisean average CPC, an average position in a search listing, an averageclick-through rate, a quality score for the overall ad group, or anyother performance parameter associated with an ad group provided by theadvertisement service provider than can averaged over all advertisementswithin an ad group.

The ad group top performing ad section 1806 may comprise anadvertisement 1814 and one or more performance parameters 1816associated with the advertisement 1814. A top performing advertisementwithin an ad group may be an advertisement having a highest performanceparameter within the ad group as defined by the advertiser or advertiserservice provider, such as the advertisement with the highest number ofimpressions, highest CTR, or the largest number of clicks.

The one or more performance parameters 1816 associated with theadvertisement 1814 may comprise a click-through rate of theadvertisement, a quality of the advertisement, a percentage of anadvertisement served in relation to all advertisements in the ad group,or any other performance parameter associated with a top performingadvertisement provided by an advertisement service provider.

The keyword/advertisement summary section 1808 comprises at least twotabs 1817 to allow a user to view advertisement campaign informationrelating to an ad group with respect to keywords or advertisements. InFIG. 18, advertisement campaign information relating to an ad group isdisplayed in terms of keywords where in FIG. 19 (described below),advertisement campaign information relating to an ad group is displayedin terms of advertisements. Referring to FIG. 18, thekeyword/advertisement summary section 1808 comprises one or moresummaries of the keywords within the ad group 1818. Each summary 1818may comprise an average position in a search listing of advertisementsin the ad group related to the keyword 1820, the number of impressionsof advertisements in the ad group related to the keyword 1822, a CTR ofadvertisements in the ad group related to the keyword 1824, the numberof clicks of advertisements in the ad group related to the keyword 1826,a CPC of advertisements in the ad group related to the keyword 1828, anamount spent on advertisements in the ad group relating to the keyword1830, or any other performance parameter provided by the advertisementservice provider relating to a keyword of an ad group.

The keyword/advertisement section 1808 may also comprise a summary bar1832. The summary bar 1832 may comprise advertisement campaigninformation for all keywords in the ad group or all the keywordscurrently displayed in the keyword/advertisement section 1808. Forexample, the summary bar 1832 may comprise an average position ofadvertisements of the ad group associated with particular keywords 1834,an aggregate number of impressions 1836, an average CTR 1838, anaggregate number of clicks 1840, an average CPC 1842, an aggregateamount spent on advertisements of the ad group associated withparticular keywords 1844, or an aggregate of any other performanceparameter listed in the summaries of the keywords within an ad group1818.

The GUI 1800 may also comprise one or more keyword action hyperlinks1846. Similar to the ad campaign and ad group action hyperlinksdescribed above, a user may select one or more keywords and activate theone or more keyword action hyperlinks to perform actions such as pause akeyword, activate a keyword, delete a keyword, move a keyword to adifferent ad group, clone a keyword, add a keyword to a watch list,remove a keyword from a watch list, or any other functions that can beperformed on keywords.

FIGS. 19 a, 19 b, and 19 c are examples of embodiments of GUIs fordisplaying and managing advertisement campaign information. Similar toFIG. 15, the GUI 1900 of FIG. 19 a may comprise an ad group graphsection 1902, an ad group summary section 1904, an ad group topperforming ad section 1906, and a keyword/advertisement summary section1908. The keyword/advertisement summary section 1908 displaysadvertisement campaign information relating to an ad group in terms ofadvertisements. Generally, the keyword/advertisement summary section1908 comprises one or more summaries 1910 of advertisement campaigninformation associated with a particular advertisement. The summary 1910may comprise a name of the advertisement 1912, a percentage of anadvertisement served in relation to all advertisements in the ad group1914, a quality of an advertisement 1915, a number of impressions of anadvertisement 1916, a CTR of an advertisement 1917, a number of clickson an advertisement 1918, a CPC of an advertisement 1920, an amountspent on an advertisement 1922, or another performance parametersupplied by an advertisement service provider relating to anadvertisement.

FIG. 19 b is another embodiment of a GUI for displaying and managingadvertisement campaign information. The GUI 1901 of FIG. 19 b maycomprise an ad group graph section 1924, an ad group top performing adsection 1926, and a keyword/advertisement summary section 1928.Generally, the keyword/advertisement section 1928 comprises one or moreadvertisement summaries 1930. Each advertisement summary 1930 mayinclude ad campaign information associated with an advertisement such asan indication of whether the advertisement has been approved 1932, anumber of times an advertisement service provider has served theadvertisement using sponsored search 1934, a number of times anadvertisement search provider has served an advertisement based oncontent match 1936, a graphical representation of a quality of anadvertisement 1938, or performance parameters associated with anadvertisement such as a number of impressions 1940, a CTR 1942, a numberof clicks 1944, or any other performance parameter provided by an adcampaign management system.

FIG. 19 c is another embodiment of a GUI 1903 for creating anadvertisement. In one embodiment, the GUI 1903 is displayed afteractivating a hyperlink such as hyperlink 1942 of GUI 1901 (FIG. 19 b).Generally, the GUI 1903 includes an advertisement preview area 1946, anadvertisement creation area 1948, and an advertisement creation helparea 1950.

The advertisement creation area 1948 may include one or more fields thatprovide the user with the ability to create an advertisement and previewthe advertisement in the advertisement preview area 1946. The fields inthe advertisement creation area 1948 may include fields to insert atitle 1952, short description 1954, long description 1956, landing URL1958, display URL 1960, or name 1962 of an advertisement. As text isinserted in any of the fields described above, the ad campaignmanagement system dynamically creates a preview of the advertisement inthe advertisement preview area 1946. The advertisement creation area1948 may additionally include a keyword listing area 1964 that listskeywords associated with the advertisement being created.

FIG. 20 is an example of another embodiment of a GUI for displaying andmanaging advertisement campaign information. Similar to FIGS. 18 and 19a, the GUI 2000 of FIG. 20 may comprise an ad group graph section 2002,an ad group summary section 2004, an ad group top performing ad section2006, and a keyword/advertisement summary section 2008. The GUI 2000 mayalso comprise a filter bar 2010 to allow a user to filter the keywordsummaries of an ad group according to a performance parameter or anyother advertisement campaign information associated with the ad group.

FIG. 21 is an example of another embodiment of a GUI for displaying andmanaging advertisement campaign information. Similar to FIGS. 18-20, theGUI 2100 of FIG. 21 may comprise an ad group graph section 2102, an adgroup summary section 2104, an ad group top performing ad section 2106,and a keyword/advertisement summary section 2108. The GUI 2100 may alsocomprise a search bar 2110 that allows a user to search the one or morekeyword summaries 2112 based on maximum CPC 2114, average position 2116,impressions 2118, CTR 2120, Clicks 2122, CPC 2124, acquisitions 2125,CPA 2126, revenue 2128, ROAS 2130, amount spent 2132, or any otherperformance parameter related to a keyword of the ad group that isprovided by the advertisement service provider. Further, the search bar2110 may allow a user to search the one or more keyword summaries 2112that are greater than, less than, or equal to a value 2134 input by theuser.

FIGS. 22 and 23 are examples of additional embodiment of GUIs fordisplaying and managing advertisement campaign information. As seen inFIG. 22, a secondary management GUI 2202 may be dynamically created byactivation of a hyperlink on the primary GUI. The secondary managementGUI 2202 may comprise a listing of performance parameters 2206 such asaverage position, impressions, CTR, clicks, acquisitions, CPA, revenue,ROAS, spend, or any other performance parameter provided by theadvertisement service provider. Further, the secondary management GUI2202 may comprise an estimate tool 2208 and an estimate graph 2210. Theestimate tool 2208 allows a user to input potential performanceparameter values 2212 such as a potential value of a maximum CPC anddynamically create other estimated performance parameters for an adgroup based on the value of the potential performance parameter such asan estimated average position 2214, an estimated monthly impression2216, or a number of estimated monthly clicks 2218. If at any point auser wishes to save the value of the potential performance parameterinput 2212 to the estimate tool 2208 as a new value assigned to theappropriate performance parameter, a user may execute the save 2219button.

In one embodiment, the estimate graph 2210 comprises an illustration ofan estimated number of impressions 2220 and an estimated number ofclicks 2222 versus a maximum CPC setting (a bid), and a current bidestimate indicator 2224. Typically, the estimated number of impressions2220 and the estimated number of clicks 2222 are a function of thecurrent performance parameter settings of the ad group. The current bidestimate indicator 2224 illustrates where the current bid of the user islocated in relation to the estimated number of impressions 2220 and theestimated number of clicks 2222. As a user creates new estimatedperformance parameters for an ad group using the estimate tool 2208, thecurrent bid estimate indicator 2224 shifts in relation to the estimatednumber of impressions 2220 and the estimated number of clicks 2222according to the estimated performance parameters.

FIGS. 24 a and 24 b are examples of additional embodiments of GUIs fordisplaying, managing, and optimizing advertisement campaign information.Generally, the GUI 2400 of FIG. 24 a allows a user to set variousperformance parameters for keywords within an ad group. Generally, theGUI 2400 may comprise a performance section 2402, an estimate tool 2404,an estimate graph 2406, and a preview section 2408. The performancesection 2402 may comprise one or more numerical listings of performanceparameters associated with a keyword of the ad group such as an averageposition, number of impressions, CTR, Clicks, CPC, acquisitions, CPA,revenue, ROAS, amount spent, or any other performance parameter providedby an advertisement service provider that relates to a keyword of the adgroup.

The estimate tool 2404 allows a user to input potential performanceparameters values 2410 such as a potential value of a maximum CPC anddynamically create estimated performance parameters for a keyword of anad group based on the value of the potential performance parameter suchas an estimated average position 2412, an estimated monthly impression2414, or a number of estimated monthly clicks 2416.

In one embodiment, the estimate graph 2406 comprises an illustration ofan estimated number of impressions 2418 and an estimated number ofclicks 2420 versus a maximum CPC setting, and a current bid estimateindicator 2422. The current bid estimate indicator 2422 illustrateswhere the current bid of the user is located in relation to theestimated number of impressions 2418 and the estimated number of clicks2420. As a user creates new estimated performance parameter values for akeyword of an ad group using the estimate tool 2404, the current bidestimate indicator 2422 shifts in relation to the estimated number ofimpressions 2418 and the estimated number of clicks 2420 according tothe estimated performance parameters.

The preview section 2408 displays one or more advertisements that arefixed to a keyword. Typically, the preview section 2408 provides a userwith the ability to perform one or more actions 2424 on an advertisementdisplayed in the preview section, such as providing the ability toremove an advertisement from a keyword.

FIG. 24 b is an example of another embodiment of a GUI 2401 for allowinga user to set various performance parameters for keywords within an adgroup. Similar to the GUI 2400 of FIG. 24 a, GUI 2401 may include aperformance section 2426, an estimate tool 2428, and an estimate graph2430 as described above. The GUI 2401 may additionally include a primeplacement suggestion area 2432. The prime placement suggestion area 2432provides a recommendation including a range of values to an advertiserthat should result in an advertisement obtaining a premium position insearch results. Examples of a premium position include a prominentposition in the search results such as near the beginning of a web pageor a position on a first page of search results. In one embodiment, therecommendation in the prime placement suggestion area 2432 is calculatedbased on current performance parameters such as those listed in theperformance section 2426 and forecasts obtained from the forecastcomponent 185 (FIG. 1) described above.

FIGS. 25-31 are different embodiments of GUIs for displaying andcustomizing reports comprising advertisement campaign information. Asdescribed above with respect to FIG. 1, the campaign management systemprovides the ability to receive advertisement campaign information fromvarious sources including the channel server 150, pod collection server135 and third-party analytics feeds component 180. The BIG component 155of the campaign management system assures that this data is received ina correct and timely manner, and may also perform aggregation andfiltering on raw data impressions that are coming into the pod 100.After the received data is filtered and received, the campaignmanagement system may generate reports regarding all advertisementcampaign information related to a single advertiser account from aplurality of advertisement service providers.

Referring to FIGS. 25-31, typically the GUIs 2500 may comprise a graphsection 2502, a menu for choosing a report type 2504, a drop down menufor choosing at what account level to view the report 2506, one or moreactivation areas for choosing between types of graphs 2508, a drop-downmenu 2510 for choosing a performance parameter to plot on a left axis ofthe graph section 2502, a drop-down menu 2512 for choosing a value toplot on a right axis of the graph section 2502, an updated action area2514 for updating the graph illustrated on the graph section 2502,numerical listings of one or more performance parameters 2516 relatingto the plotted graph 2502, and download action area 2518 for downloadingadvertisement campaign information in various formats.

To generate an illustration in the graph section 2502, a user shouldchoose a report type 2504, an account level 2506, a type of graph 2508and a value for either the left axis 2510 or the right axis 2512. Thereport type 2504 defines the type of report illustrated in the graphsection 2502 such as a performance summary report, a daily summaryreport, a daily budgeting report, an ad campaign by name summary report,an ad group by name summary report, an advertisement by name summaryreport, or any other type of report defined by an advertiser or anadvertisement service provider. Examples of report types are describedin detail in U.S. patent application No. ______, (Attorney Docket No.12729/136), titled “Advertiser Reporting System and Method in aNetworked Database Search System”, filed on Apr. 28, 2006, the entiretyof which is hereby incorporated herein by reference. The report type2504 is further refined by the account level at which the user choosesto view the report 2506. Typically, a report can be viewed based on anadvertiser account level, an advertisement campaign level, an ad grouplevel, or any other grouping of advertisement campaign information asdefined by an advertiser or an advertisement service provider.

To customize the illustration in the graph section 2502, the user maychoose selector 2508 to view the report as a line graph, a bar graph, apie chart, or any other type of graph known in the art. Further, theuser may customize the illustration in the graph section 2502 bychoosing a performance parameter to graph with respect to the left axis2510 versus a period of time and choosing a performance parameter tograph with respect to the right axis 2512 versus the period of time. Theperformance parameter graphed on the left 2510 or right 2512 axis may bea number of impressions, clicks, CPC, a number of conversions, aconversion rate, CPA, amount spent, revenue, ROAS, or any otherperformance parameter provided by an advertisement service providerassociated with an advertiser account, ad campaign, ad group,advertisement, or other grouping of information as defined by anadvertiser or advertisement service provider.

In some embodiments, each of the GUIs described above with respect toFIGS. 3-31 are dynamic and may be customizable. For example, users mayinteract with the ad campaign management system to turn on and offcertain options associated with their account. As a result, the adcampaign management system may display a customized GUI to the user thatremoves information associated with options at the ad campaignmanagement system that have been disabled. For example, if a user turnsoff an optimization function at the ad campaign management system, thead campaign management system may remove all performance parameters oroptions from the GUI presented to that user relating to optimization.

In other embodiments, the ad campaign management system may additionallyprovide the ability for a user to define which performance parametersare displayed to the user. For example, a user may be able to choosewhich performance parameters relating to an account the ad campaignmanagement system presents to the user in a GUI or the user may be ableto choose an order of how the different types of performance parametersare presented to the user. A customizable GUI allows the ad campaignmanagement system to provide users with information that is mostrelevant to the user as defined by the user.

FIG. 32 is a block diagram of one embodiment of a system 3200 forfacilitating display of advertisement campaign information. The system3200 typically comprises an advertisement service provider(advertisement campaign management system) comprising one or moreservers 3202 in communications with a user device 3204 over a network3206. Generally, an advertisement service provider 3202 organizesadvertisement campaign information into an account hierarchy, asdescribed above, according to a user account, one or more ad campaignsassociated with the user account, one or more ad groups associated withthe ad campaigns, and keyword and advertisement information associatedwith the ad groups. After organizing the advertisement campaigninformation, the advertisement service provider 3202 sends at least aportion of the advertisement campaign information to the user 3204 fordisplay based at least in part on the one or more ad groups.

Each server of the advertisement service provider 3202 may comprise aprocessor 3208, a network interface 3210 in communication with theprocessor 3208, and a memory unit 3212 in communication with theprocessor 3208. Typically, the memory unit 3212 stores at leastadvertisement campaign information. Advertisement campaign informationmay comprise information relating to relationships between a useraccount, ad campaigns, and ad groups; performance parameters associatedwith a user account, ad campaigns, and ad groups; or advertisements andkeywords associated with a user account, ad campaigns, and ad groups.

The processor 3208 is typically operative to perform one or moreoperations to organize the advertisement campaign information stored inthe memory unit 3212 into one or more ad groups as defined by anadvertiser. As described above, an ad group may be thought of as aconceptual compartment or container that includes advertisements andparameters for advertisements that are handled in a similar manner.

After organizing the advertisement campaign information into one or moread groups, the advertisement service provider 3202 may send at least aportion of the advertisement campaign information to the user device3204 via the network interface 3210 for display based at least in parton the one or more ad groups. In one embodiment, the advertisementservice provider 3202 sends one or more hypertext pages that comprise agraphical user interface such as those in FIGS. 3-31 when the one ormore hypertext pages are executed in an internet-browser, stand-aloneapplication, or any other device known in the art.

FIG. 33 is a flow diagram of one embodiment of a method for facilitatingdisplay of advertisement campaign information. The method 3300 beginswith the advertisement service provider organizing advertisementcampaign information into one or more ad groups 3302. The advertisementprovider may organize the advertisement campaign information into one ormore ad groups as defined by advertiser based on a search tactic, aperformance parameter of the advertisement campaign information, or anyother parameter provided by the advertisement service provider thatrelates to an ad group.

The advertisement service provider then displays advertisement campaigninformation based at least in part on the one or more ad groups 3304 toa user. The advertisement campaign information may be displayed in aGUI, such as in FIGS. 3-31, running in an internet browser on a userdevice, displayed in a stand-alone application running on a user deviceor displayed on any other device known in the art.

FIG. 34 is a block diagram of one embodiment of a system for managingadvertisement campaign information. Similar to the system of FIG. 32,the system typically comprises an advertisement service provider(advertisement campaign management system) comprising one or moreservers 3402 in communication with a user device 3404 over a network3406. As explained above, the advertisement service provider maycomprise a processor 3408, a network interface 3410 in communicationwith the processor 3408, and a memory unit 3412 in communication withthe processor 3408.

Generally, the advertisement service provider 3402 executes one or moreprograms running on the processor 3408 to organize advertisementcampaign information stored in the memory unit 3412 into one or more adgroups as defined by an advertiser.

In one embodiment, the advertisement service provider 3402 sends atleast a portion of the advertisement campaign information organized intoone or more ad groups over the network 3406, via the network interface3410, to the user device 3404. The user device 3404, using an internetbrowser, stand-alone application, or any other type of application knownin the art, displays at least a portion of the received advertisementcampaign information in a user interface (“UI”), such as in FIGS. 3-31,to a user and is operative to allow the user to modify advertisementcampaign information based at least in part on at least one of the oneor more ad groups. For example, the user may modify a maximum CPCassociated with an ad group; add or delete a keyword associated with anad group; add or delete advertisements associated with an ad group;modify a business objective associated with an ad group; modify a searchtactic associated with an ad group; modify budget constraints associatedwith an ad group; or modify any other performance parameter associatedwith an ad group.

In another embodiment, the user device 3402 sends at a least a portionof the advertisement campaign information organized into one or more adgroups over the network 3406, via an application program interface(“API”) of the network interface 3410, to the user device 3404. The userdevice 3304, using an application operative to communicate with the APIof the advertisement service provider 3402, receives the advertisementcampaign information and is operative to modify advertisement campaigninformation based at least in part on at least one of the one or more adgroups as described above.

FIG. 35 is a flow diagram of one embodiment of a method for managingadvertisement campaign information. The method 3500 begins with theadvertisement service provider organizing advertisement campaigninformation into one or more ad groups 3502. The advertisement campaigninformation is then modified based at least in part on the one or moread groups 2904 as described above.

FIG. 36 is a flow diagram of another embodiment of a method for managingadvertisement campaign information. The method 3600 begins with theadvertisement service provider organizing advertisement campaigninformation into one or more ad groups 3602. At least a portion of theadvertisement campaign information is displayed 3604, such as in FIGS.3-31, based at least in part on at least one of the one or more adgroups, and at least a portion of the displayed advertisement campaigninformation is modified 3506 as described above.

FIG. 37 is a flow chart of another embodiment of a method for managingadvertisement campaign information. The method 3700 begins with theadvertisement service provider organizing advertisement campaigninformation into one or more ad groups 3702. Instructions are receivedvia an application program interface (“API”) for modifying at least aportion of the advertisement campaign information based at least in parton at least one of the one or more ad groups 3704 and at least a portionof the advertisement campaign information is modified based on thereceived instructions 3706.

FIG. 38 a block diagram of one embodiment of a system for optimizingadvertisement campaign information. Similar to the system of FIGS. 32and 34, the system typically comprises an advertisement service provider(advertisement campaign management system) comprising one or moreservers 3802 in communication with a user device 3804 over a network3806. As explained above, the advertisement service provider maycomprise a processor 3808, a network interface 3810 in communicationwith the processor 3808, and a memory unit 3812 in communication withthe processor 3808.

Generally, the advertisement service provider 3802 executes one or moreprograms running on the processor 3808 to organize advertisementcampaign information stored in the memory unit 3812 into one or more adgroups as defined by an advertiser.

In one embodiment, the advertisement service provider sends at least aportion of the advertisement campaign information organized into one ormore ad groups over the network 3806, via the network interface 3810, tothe user device 3804. The user device 3804, using an internet browser,stand-alone application, or any other type of application known in theart, displays at least a portion of the received advertisement campaigninformation in a user interface (“UI”), such as in FIGS. 3-31, to a userand is operative to allow the user to optimize performance of theadvertisement campaign information based at least in part on at leastone of the one or more ad groups. For example, the user may dynamicallycreate estimates of performance parameters based on potential CPC valuesor potential business objective setting, and change actual performanceparameter or business objective setting based on the estimates for an adgroup.

In another embodiment, the user device 3802 sends at a least a portionof the advertisement campaign information organized into one or more adgroups over the network 3806, via an application program interface(“API”) of the network interface 3810, to the user device 3804. The userdevice 3804, using an application operative to communicate with the APIof the advertisement service provider 3802, receives the advertisementcampaign information and is operative to optimize performance of theadvertisement campaign information based at least in part on at leastone of the one or more ad groups as described above.

FIG. 39 is a flow diagram of one embodiment of a method for optimizingadvertisement campaign information. The method 3900 begins with theadvertisement service provider organizing advertisement campaigninformation into one or more ad groups 3902. The advertisement serviceprovider obtains forecasting information relating to at least a portionof the one or more ad groups 3904, and the advertisement campaigninformation is modified based at least in part on the forecastinginformation to optimize performance of at least one of the one or moread groups 3906 as described above.

FIG. 40 is a flow diagram of another embodiment of a method foroptimizing advertisement campaign information. The method 4000 beginswith the advertisement service provider organizing advertisementcampaign information into one or more ad groups 4002. At least a portionof the advertisement campaign information is displayed 4004 based atleast in part on at least one of the one or more ad groups, and theadvertisement service provider obtains forecasting information relatingto at least a portion of the displayed information 4006. The displayedinformation is then modified based at least in part on the forecastinginformation to optimize performance of at least one of the one or moread groups 4008 as described above.

FIG. 41 is a flow chart of another embodiment of a method for optimizingadvertisement campaign information. The method 4100 begins with theadvertisement service provider organizing advertisement campaigninformation into one or more ad groups 4102. Forecasting informationrelating to at least a portion of the one or more ad groups is obtained4104 and instructions are received via an application program interface(“API”) for modifying at least a portion of the advertisement campaigninformation based at least in part on on the forecasting information tooptimize performance of at least one of the one or more ad groups 4106.At least a portion of the advertisement campaign information is thenmodified based on the received instructions 4108.

FIG. 42 is a block diagram of one embodiment of a system for reportingadvertisement campaign information. Similar to the system of FIGS. 32,34 and 38, the system typically comprises an advertisement serviceprovider (advertisement campaign management system) comprising one ormore servers 4202 in communication with a user device 4204 over anetwork 4206. However, the system for reporting advertisement campaigninformation additionally comprises an analytics feed 4207 provided bythe advertisement campaign management system or another third-party. Asexplained above, the advertisement service provider may comprise aprocessor 4208, a network interface 4210 in communication with theprocessor 4208, and a memory unit 4212 in communication with theprocessor 4208.

Generally, the advertisement service provider 4202 executes one or moreprograms running on the processor 4208 to collect advertisement campaigninformation from components within the advertisement service providerand at least one analytics feed 4207, and to store the advertisementcampaign information in the memory unit 4212. The advertisement serviceprovider 4202 executes one or more additional programs running on theprocessor 4208 to organize the advertisement campaign information storedin the memory unit 4212 into one or more ad groups.

In one embodiment, the advertisement service provider 4202 receivesinstructions from the user device 4204, via the network interface 4210,regarding how to customize a report based at least in part on the one ormore ad groups. In response, the advertisement service provider 4202executes one or more programs running on the processor 4208 to generatea customized report based on the received instructions from the userdevice 4204, and sends at least a portion of the customized report overthe network 4206, via the network interface 4210, to the user device4204. The user device, using an internet browser, stand-aloneapplication, or any other type of application known in the art, displaysat least a portion of the received customized report in a user interface(“UI”), such as in FIGS. 3-31, based at least in part on at least one ofthe one more ad groups.

In another embodiment, the advertisement service provider 4202 receivesinstructions from the user device 4204, via an application programinterface (“API”) of the network interface 4210, regarding how tocustomize a report based at least in part on the one or more ad groups.In response, the advertisement service provider 4202 executes one ormore programs running on the processor 4208 to generate a customizedreport based on the received instructions from the user device 4204, andsends at least a portion of the customized report over the network 4206,via the API of the network interface 4210, to user device 4204. The userdevice, using an application operative to communication with the API ofthe network interface 4210 of the advertisement service provider 4202receives the portion of the customized report and display at least aportion of the received customized report based at least in part on atleast one of the one or more ad groups.

FIG. 43 is a flow diagram of one embodiment of a method for reportingadvertisement campaign information. The method 4300 begins with theadvertisement service provider (advertisement campaign managementsystem) collecting advertisement campaign information from componentswithin the advertisement service provider and at least one analyticsfeed 4302. The advertisement service provider organizes theadvertisement campaign information into one or more ad groups 4304 andreceives instructions regarding customization of a report based at leastin part on at least one of the one or more ad groups 4306. Theadvertisement service provider generates the report based on thereceived instructions and displays at least a portion of the customizedreport based at least in part on at least one of the one or more adgroups 4008 as described above.

FIG. 44 is a flow chart of another embodiment of a method for reportingadvertisement campaign information. The method 4400 begins with theadvertisement service provider (advertisement campaign managementsystem) collecting advertisement campaign information from componentswithin the advertisement service provider and at least one analyticsfeed 4402. The advertisement service provider organizes theadvertisement campaign information into one or more ad groups 4404 andinstructions are received via an application program interface (“API”)regarding customization of a report based at least in part on at leastone of the one or more ad groups 4406. A customized report is then sentto a user device via the API 4408.

FIG. 45 is a block diagram of one embodiment of a system 4502 forinteracting with an application program interface (“API”) 4504 of anadvertisement campaign management system 4506 over a network 4507.Typically, the system 4502 comprises a processor 4508, a networkinterface 4510 in communication with the processor 4508, and a memoryunit 4512 in communication with the processor 4508.

Generally, the processor 4508 is operative to execute one or moreinstructions stored in the memory unit 4512 to communicate via thenetwork interface 4510 with the API 4504 of the advertisement campaignmanagement system 4506. In one embodiment, the processor 4508 mayexecute instructions to communicate with the API 4504 to send commandsdefining how to organize advertisement campaign information into one ormore ad groups. In another embodiment, the processor 4508 may executeinstructions to communicate with the API 4504 to send instructions tothe advertisement campaign management system 4506 to modifyadvertisement campaign information organized into one or more ad groupsbased at least in part on at least one of the one or more ad groups. Inyet another embodiment, the processor 4508 may execute instructions tocommunicate with the API 4504 to receive forecasting information relatedto advertisement campaign information organized into one or more adgroups and send instructions to the advertisement campaign managementsystem 4506 to modify at least one ad group based on the forecastinginformation to optimize performance of one or more ad groups. In yetanother embodiment, the processor 4508 may execute instructions tocommunicate with the API 4504 to send information to the advertisementcampaign management system 4506 regarding customization of a reportcomprising advertisement campaign information organized into one or moread groups and receive the customized report via the API 4504 of theadvertisement campaign management system 4506.

It will be appreciated that the disclosed advertisement campaignmanagement system as described with reference to FIGS. 1 and 2, thegraphical user interfaces as described with reference to FIGS. 3-31, andthe systems and methods as described with reference to FIGS. 32-45provide user interfaces and application program interfaces to anadvertisement campaign system that provides the ability to flexibly,dynamically, and efficiently manage large groups of advertisements. Asopposed to traditional user interfaces and application programinterfaces that only provides the ability to manage advertisementcampaign information at a user account level or an individualadvertisement level, users many now manage advertisement campaigninformation at an account level defined by the user. Users are given theability to define their own groups of advertisement campaign information(an ad group) for advertisements that will be handled by theadvertisement campaign management system in a similar manner. Forexample, users may group advertisements by a search tactic, performanceparameter, demographic of user, family of products, or almost any otherparameter desired by the user. Allowing users to define their own adgroups allows the advertisement campaign management system to providemore useful information to the user thereby allowing the user todisplay, manage, optimize, or view reports on, advertisement campaigninformation in a manner most relevant to an individual advertiser.

It is therefore intended that the foregoing detailed description beregarded as illustrative rather than limiting, and that it be understoodthat it is the following claims, including all equivalents, that areintended to define the spirit and scope of this invention.

1. A method of facilitating optimization of an advertisement campaign,comprising: organizing advertisement campaign information into one ormore ad groups; obtaining forecasting information relating to at least aportion of the one or more ad groups; and modifying at least a portionof the advertisement campaign information of the one or more ad groupsbased at least in part on the forecasting information to optimizeperformance of at least one of the one or more ad groups.
 2. The methodof claim 1, wherein at least one of the one or more ad groups comprisesadvertiser customized and defined groups of advertisement campaigninformation.
 3. The method of claim 1, wherein based at least in part onat least one of the one or more ad groups comprises arranged at least inpart on at least one of the one or more ad groups.
 4. The method ofclaim 1, wherein at least one of the one or more ad groups comprisesadvertisements and parameters for advertisements that are handled by anadvertisement campaign management system in a similar manner.
 5. Themethod of claim 1, wherein at least one of the one or more ad groupscomprises advertisements and parameters for advertisements targeted to ademographic group.
 6. The method of claim 5, wherein the demographicgroup comprises a sex of a user performing an internet search.
 7. Themethod of claim 5, wherein the demographic group comprises a geographiclocation of a user performing an internet search.
 8. The method of claim5, wherein the demographic group comprises an income level of a userperforming an internet search.
 9. The method of claim 5, wherein thedemographic group comprises an age of a user performing an internetsearch.
 10. The method of claim 1, wherein at least one of the one ormore ad groups comprises advertisements and parameters foradvertisements targeted to a family of products.
 11. The method of claim1, wherein at least one of the one or more ad groups comprisesadvertisements and parameters for advertisements comprising the samesearch tactic.
 12. The method of claim 11, wherein the search tacticcomprises sponsored search.
 13. The method of claim 11, wherein thesearch tactic comprises content match.
 14. The method of claim 1,wherein organizing advertisement campaign information into one or moread groups comprises: receiving commands from a user defining how toorganize the advertisement campaign information into one or more adgroups.
 15. The method of claim 1, wherein obtaining forecastinginformation relating to at least a portion of the one or more ad groupcomprises: receiving a potential parameter related to a portion of theone or more ad groups; estimating performance parameters relating to theportion of the one or more ad groups based at least in part on thereceived potential parameter.
 16. The method of claim 15, wherein thepotential parameter is a performance parameter.
 17. The method of claim16, wherein the performance parameter is a cost-per-click (“CPC”). 18.The method of claim 15, wherein the potential parameter is a businessobjective.
 19. The method of claim 1, wherein obtaining forecastinginformation relating to at least a portion of the one or more ad groupscomprises: receiving a plurality of business objectives related to aportion of the one or more ad groups; and estimating one or moreperformance parameters based on the received plurality of businessobjectives.
 20. A system for facilitating optimization of anadvertisement campaign, comprising: means for organizing advertisementcampaign information into one or more ad groups; means for obtainingforecasting information relating to at least a portion of the one ormore ad groups; and means for receiving commands from a user interfacefor modifying at least a portion of the advertisement campaigninformation based at least in part on the forecasting information tooptimize performance of at least one of the one of more ad groups, theuser interface operative to receive the commands from a user.
 21. Acomputer-readable storage medium comprising a set of instructions foroptimizing performance of an advertisement campaign, the set ofinstructions to direct a computer system to perform acts of: organizingadvertisement campaign information into one or more ad groups; obtainingforecasting information relating to at least a portion of the one ormore ad group; and modifying at least a portion of the campaigninformation of the one or more ad groups based at least in part on theforecasting information to optimize performance of at least one of theone or more ad groups.
 22. A method of facilitating optimization of anadvertisement campaign, comprising: organizing advertisement campaigninformation into one or more ad groups; sending at least a portion ofthe advertisement campaign information to a user interface for displaybased at least in part on at least one of the one or more ad groups;obtaining forecasting information relating to at least a portion of thedisplayed advertisement campaign information; and modifying at least aportion of the displayed advertisement campaign information based atleast in part on the forecasting information to optimize performance ofat least one of the one or more ad groups.
 23. The method of claim 22,wherein display of the at least a portion of the advertisement campaigninformation based at least in part on at least one of the one or more adgroups comprises: displaying an estimate tool comprising one or moreestimated performance parameters associated with the portion of theadvertisement campaign.
 24. The method of claim 23, wherein display ofthe at least a portion of the advertisement campaign information basedat least in part on at least one of the one or more ad groups furthercomprises: displaying an estimate graph illustrating at least one of anestimated number of impressions or an estimated number of clicks versusa maximum cost-per-click (“CPC”) parameter for an ad group, the estimategraph comprising a current bid estimate indicator illustrating where acurrent bid for an ad group is located in relation to the at least oneof the estimated number of impressions or the estimated number ofclicks.
 25. The method of claim 24, wherein obtaining forecastinginformation relating to at least a portion of the displayed informationcomprises: receiving a potential parameter in the estimate tool relatingto the displayed portion of the advertisement campaign information;estimating value for the one or more estimated performance parametersbased on the received potential parameter; and shifting the current bidestimate indicator in relation to the at least one of the estimatednumber of impressions or the estimated number of clicks to correspond tothe one or more estimated performance parameters.
 26. The method ofclaim 25, wherein modifying at least a portion of the displayedadvertisement campaign information based at least in part on theforecasting information to optimize performance of at least one of theone or more ad groups comprises: modifying a performance parameter ofthe displayed advertisement campaign information to be equal to thepotential parameter.
 27. A system for facilitating optimization of anadvertisement campaign, comprising: means for organizing advertisementcampaign information into one or more ad groups; means for sending atleast a portion of the advertisement campaign information to a userinterface, the user interface operative to display the at least aportion of the advertisement campaign information based at least in parton the one or more ad groups; and means for obtaining forecastinginformation relating to at least a portion of the displayedadvertisement campaign information; and means for receiving commandsfrom the user interface to modify the displayed advertisement campaigninformation based at least in part on the forecasting information tooptimize performance of at least one of the one or more ad groups. 28.The system of claim 27, wherein the user interface comprises: anestimate tool operative to receive a potential parameter for thedisplayed advertisement campaign information and estimate one or moreperformance parameters based on the received potential parameter; and anestimate graph operative to illustrate at least one of an estimatednumber of impressions or an estimated number of clicks versus a maximumcost-per-click (“CPC”) parameter for an ad group, the estimate graphcomprising a current bid estimate indicator illustrating where a currentbid for an is located in relation to the at least one of the estimatednumber of impressions or the estimated number of clicks.
 29. Acomputer-readable storage medium comprising a set of instructions foroptimizing performance of an advertisement campaign, the set ofinstructions to direct a computer system to perform acts of: organizingadvertisement campaign information into one or more ad groups; sendingat least a portion of the advertisement campaign information to a userinterface for display based at least in part on at least one of the oneor more ad groups; obtaining forecasting information relating to atleast a portion of the displayed advertisement campaign information; andmodifying at least a part of the displayed advertisement campaigninformation based at least in part on the forecasting information tooptimize performance of at least one of the one or more ad groups.